#!/bin/bash
# Skripti on tehty ja testattu normaaleilla Ubuntuilla, myös 13.10:llä. Kyllä se muillakin Ubuntuilla toimii ja usein myös muilla Linuxeilla. Mutta esimerkiksi Xubuntu vaatii varsin mittavia muutoksia.    petteriIII 28.7.2013
reset # varmistetaan että päätteessä aloitetaan puhtaalta pöydältä
kanta=${0%/OMATSKRIPTIT*}; echo 'tätä skriptiä ajetaan paikasta: '$kanta
. $kanta/OMATSKRIPTIT/FUNKTIOKIRJASTO/Näppäimistön_funktiot # Valikko-funktioiden koodi liitetään tämän skriptin koodiin

Valittavat=('- Valinnasta on kaksi versiota: näppäinversio ja hiiriversio.'
'  1. näppäinversion valintafunktiot ovat paikassa: http://forum.ubuntu-fi.org/index.php?topic=44605.msg296419#msg296419'
'  2. hiiriversion valintafunktiot ovat paikassa: http://forum.ubuntu-fi.org/index.php?topic=44605.msg295198#msg295198'
'- lisää skriptiisi valintafunktiot joko kopioimalla ne skriptiisi tai kirjoittamalla skriptisi alkuun rivi:'
'  . sen_tiedoston_nimi_ johon_olet_valintafunktiot_laittanut  (ensimmäinen merkki on piste)'
' '
'- lisää skriptiisi valittavat Valittavat-matriisiin esimerkiksi:'
'  Valittavat=(1 2 3 4 5 kukko kana piiroisen_pässi "mikäli valittavassa on välilyöntejä täytyy se laittaa heittomerkkien väliin")'
'  tai:  Valittavat=({mistäluvusta..mihinlukuun..askel_jos_tarvitaan})'
'  tai:  Valittavat=$(tiedostolistaus "$Kansio")'
'  tai kurki tekotapa ohjeesta ohjeet/matriisi minkä ohje toimii kaikille käskyille.'
'- lisää skriptiisi Valittavien muodostamisen jälkeen kutsu: ValitseValittavistaYksi "ohjerivi jos haluat määritellä sellaisen" "avaimet jos haluat määritellä niitä"'
'  avaimet määritellään tyyliin: "f2=tee uutta, f3=hävitä vanhaa ..."  . Tunnetut avaimet: insert, delete, end, home, f1, f2, f3, tai f4'
' '                                                                                                                                             
'  Palautusarvot ja huomautukset:'
'- skripti palauttaa valitun rivin tekstin muuttujassa ValitunTeksti ja järjestysnumeron muuttujassa ValitunNumero.'
'- skripti palauttaa myös muuttujan Tapahtuma jolla on arvona sen avaimen nimi jota on painettu valinnan suorittamiseksi.'
'- skripti palauttaa myös kutsussa olleen ohjerivin CRC32:n muuttujassa crc. CRC on 32-numeroinen ja se yksilöi ohjerivin hyvin.'
'- noiden perustoimintojen lisäksi toimintaa voi säätää tilanteeseen sopivaksi:'
'- jos et halua määritellä otsikkoa niin jonkinlainen otsikko muodostetaan automaattisesti. Otsikkorivi on rivi 2.'
'- skriptissä voidaan kutsua valikkoa monta kertaa vaihtaen välillä Valittavat'
' '                    
'- Välillä eteen tulee tehtäviä, joiden suorittajista jotkut ovat ammattilaisia ja jotkut ei-ammattilaisia. Esimerkiksi kun koneen pakettivarastot'
'  halutaan tyhjentää niin ammattilainen antaa käskyn: "sudo apt-get clean" koska sen kone ymmärtää, mutta ei-ammattilainen ei saa sitä'
'  pakettivarastoa tyhjennettyä koskei tuommoista käskyä tiedä olevankaan. Mutta kumpikin osaa käskeä: "tyhjennä pakettivarasto" ja sitten ohjelma'
'  suorittaa koodimuunnoksen muotoon: sudo apt-get clean. Tämä koodimuunnos tapahtuu valinnan yhteydessä: matriisissa Valittavat'
'  on selväkieliset käskyt ja matriisissa ValitunArvo on vastaavana jäsenenä se koodimuunnettu. Matriisin ValitunArvo voi jättää'
'  määrittelemättä jos ei siitä katso olevan mitään hyötyä tai määritellä se osittain tai paloittain, esimerkiksi: ValitunArvo=({1..20..2})'
' '
' '                                                                                                                                               
'Sitten valikko-ohjelman rajoituksista:'
'- valittavat esitetään aina yhdellä sivulla. Ohjelma käyttää koko näyttöä. Mikäli valittavia on useampia kuin näyttöriveille mahtuu aletaan' 
'  valittavia jakaa sarakkeisiin; sarakkeenpituus määräytyy automaattisesti'
'- hyödyllinen rajoitus: samaa kohtaa ei voi valita useampaa kertaa peränjälkeen painamatta välillä jotain nuoli-näppäimistä'
'- yleensä päätteen ohjeen pika-valinta on f12. Joskus se kuitenkin on f1 jolloin se täytyy vaihtaa - helpointa on olla käyttämättä f1:tä')
                                            
ValitseValittavistaYksi "Tämä valikko otetaan ohjelmassa käyttöön seuraavalla tavalla:" "f2=koodaa"
echo -e '\nolet valinnut rivin numero:'$ValitunNumero'. Tekstinä siinä on: '$ValitunTeksti'. Ja ValitunArvo: '$ValitunArvo'\n' 
echo 'ja valinta suoritettiin painamalla nappia: '$Tapahtuma
read -p 'lopettaakseesi paina enter' 
 
